Chun-wei Fan [Thu, 12 Nov 2015 12:20:36 +0000 (20:20 +0800)]
gtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11/Wayland
Only use the hard-coded build-time path given by X11_PREFIX on X11 and
Wayland where a X11 package is normally available. On other platforms,
get the datadir of the running system and mimic the behavior by
constructing the path dynamically. This avoids hardcoding the path for
searching for compose tables where we want to have relocatability.
This fixes the build on Windows/MSVC as well, where we don't normally have
any X11 packages available.
https://bugzilla.gnome.org/show_bug.cgi?id=757984
Matthias Clasen [Fri, 13 Nov 2015 12:11:23 +0000 (07:11 -0500)]
check menu item: Fix a typo
It is check, not checl. Pointed out by Giovanni Campagna in
https://bugzilla.gnome.org/show_bug.cgi?id=757968
Matthias Clasen [Fri, 13 Nov 2015 12:07:19 +0000 (07:07 -0500)]
Adwaita: Fix styling of selected rows in treeviews
This broke in some of the recent selection handling changes.
Paolo Borelli [Wed, 11 Nov 2015 13:43:55 +0000 (14:43 +0100)]
filechooser: ignore double clicks on the selected item
Since we are now interpreting button press events and
make our own double-click determination, we should not
handle double-click events that are generated by GDK.
https://bugzilla.gnome.org/show_bug.cgi?id=757950
Ignacio Casal Quinteiro [Fri, 13 Nov 2015 11:58:45 +0000 (12:58 +0100)]
win32: do not use g_clear_pointer also on the clipboard window
A follow up on the previous patch. We should use DestroyWindow
directly since it has a different calling convention than
the expected callback for g_clear_pointer
Ignacio Casal Quinteiro [Fri, 13 Nov 2015 11:54:54 +0000 (12:54 +0100)]
win32: do not use g_clear_pointer to destroy the window
DestroyWindow expects a different calling convenction so
we endup getting an error at runtime
Matthias Clasen [Fri, 13 Nov 2015 11:40:28 +0000 (06:40 -0500)]
Update testlevelbar
This test needs some small updates after the recent changes
to levelbar styling.
Matthias Clasen [Fri, 13 Nov 2015 11:39:57 +0000 (06:39 -0500)]
notebook: Chain up in direction_changed
We do this everywhere else.
Yosef Or Boczko [Fri, 13 Nov 2015 09:51:07 +0000 (11:51 +0200)]
Updated Hebrew translation
Matthias Clasen [Fri, 13 Nov 2015 06:05:30 +0000 (01:05 -0500)]
HighContrast: Update levelbar styling
Adapt to changes in the previous commit.
Matthias Clasen [Fri, 13 Nov 2015 05:56:54 +0000 (00:56 -0500)]
Adwaita: Update levelbar styling
Adapt to the changes in the previous commit. In particular, fix
the handling of low and high offsets. Anything below the low offset
gets warning color, anything below high gets selected background,
and anything below the new full offset gets success color.
Matthias Clasen [Fri, 13 Nov 2015 05:55:28 +0000 (00:55 -0500)]
levelbar: Use more CSS nodes
Create as many CSS nodes as we're rendering blocks on the screen.
Sébastien Wilmet [Thu, 12 Nov 2015 16:43:32 +0000 (17:43 +0100)]
textbuffer: nicer get_iter functions, without return values
Avoid crashes when passing an invalid location to a
gtk_text_buffer_get_iter_at_*() function.
A first attempt added boolean return values to know if @iter has been set to
the exact location, but it breaks Python and JS bindings because the out
parameter is already a return value in those languages.
Unit tests are added.
https://bugzilla.gnome.org/show_bug.cgi?id=735341
Ignacio Casal Quinteiro [Thu, 12 Nov 2015 15:42:51 +0000 (16:42 +0100)]
win32: destroy clipboard notification window on dispose
The clipboard uses a hidden window to get some specific events.
The window was created but never destroyed on dispose.
Mingye Wang (Arthur2e5) [Thu, 12 Nov 2015 15:17:28 +0000 (23:17 +0800)]
update zh_CN translation
Ignacio Casal Quinteiro [Thu, 12 Nov 2015 14:59:43 +0000 (15:59 +0100)]
win32: chain up on display dispose
Matthias Clasen [Thu, 12 Nov 2015 14:57:10 +0000 (09:57 -0500)]
Revert "textbuffer: nicer get_iter functions"
This reverts commit
a9a1c00cc9255ee9a7f73695f69abe172cde7bfa.
Unfortunately, adding the boolean return broke both the python
and javascript bindings, since they now return a tuple consisting
of the boolean and the out argument.
Chun-wei Fan [Thu, 12 Nov 2015 12:12:26 +0000 (20:12 +0800)]
gtktestutils.c: Ensure variables are declared at top of block
Fixes build on C89 compilers...
Chun-wei Fan [Thu, 12 Nov 2015 10:16:33 +0000 (18:16 +0800)]
MSVC builds: Use /opt:ref for release builds
glib-compile-resources have been updated to ensure that the symbols
generated are referred to, so that they will not be optimized out by the
linker in release builds. We can change from /opt:noref to /opt:ref,
which should improve optimization a bit.
Chun-wei Fan [Thu, 12 Nov 2015 07:53:47 +0000 (15:53 +0800)]
MSVC 2010+ builds: Do not explicitly use /LTCG
This partially reverts
de16a4e.
As we now ensure that items using GResources and GConstructors are always
referenced so that the linker does not optimize them out in a default
Release build, we no longer need to enforce the use of /LTCG, so
/LTCG:incremental will work as well.
Alexander Larsson [Wed, 11 Nov 2015 15:06:44 +0000 (16:06 +0100)]
Add gtk_native_dialog_destroy()
Its very easy to get extra references to the NativeDialog so that
when you release your last reference any visible dialog is not
hidden. We handle this by adding a destroy method similar to how
you destroy regular toplevels.
Alexander Larsson [Wed, 11 Nov 2015 14:12:45 +0000 (15:12 +0100)]
GtkNativeDialog: Fix modal handling in gtk_native_dialog_run()
Emmanuele Bassi [Wed, 11 Nov 2015 12:27:07 +0000 (12:27 +0000)]
tooltipwindow: Use a builder UI file
It's not a hugely complicated file, but it's easier to deal with some of
the details of tooltip windows styling if we have a UI file to edit,
instead of source code.
Emmanuele Bassi [Tue, 10 Nov 2015 16:24:33 +0000 (16:24 +0000)]
Add autocleanups for GtkShortcutsWindow
Emmanuele Bassi [Tue, 10 Nov 2015 15:11:29 +0000 (15:11 +0000)]
Remove introspection scanner guards around autocleanups
They are not needed.
Timm Bäder [Wed, 11 Nov 2015 08:35:31 +0000 (09:35 +0100)]
gtklevelbar: Fix typo
Matthias Clasen [Wed, 11 Nov 2015 05:30:24 +0000 (00:30 -0500)]
HighContrast: Update levelbar styling
Adapt to the changes in the previous release.
Matthias Clasen [Wed, 11 Nov 2015 05:26:32 +0000 (00:26 -0500)]
Adwaita: Update levelbar rendering
Adapt to the changes in the previous commit.
Matthias Clasen [Wed, 11 Nov 2015 05:25:24 +0000 (00:25 -0500)]
levelbar: Port to use CSS nodes
Use element names levelbar, trough, block, and some style
classes on the block nodes: .discrete, .continuous, .empty,
.level-low, etc.
Matthias Clasen [Wed, 11 Nov 2015 04:31:33 +0000 (23:31 -0500)]
Improve testlevelbar
Add a switch to toggle between discrete and continuous modes.
Matthias Clasen [Wed, 11 Nov 2015 02:59:31 +0000 (21:59 -0500)]
text util: Avoid creating transient nodes
We don't need to add .view - its already added, and shouldn't
really be needed in the first place.
Matthias Clasen [Wed, 11 Nov 2015 02:52:45 +0000 (21:52 -0500)]
HighContrast: Update textview selection styling
Use the selection element name.
Matthias Clasen [Wed, 11 Nov 2015 02:51:36 +0000 (21:51 -0500)]
Adwaita: Update textview selection styling
Use the selection name.
Matthias Clasen [Wed, 11 Nov 2015 02:49:42 +0000 (21:49 -0500)]
text view: Improve text rendering
Use the text CSS node for rendering text, and the selection node
for rendering selected text, avoid gtk_style_context_save, update
states of all CSS nodes, and use the proper states when querying
style properties.
Matthias Clasen [Wed, 11 Nov 2015 02:18:10 +0000 (21:18 -0500)]
textview: Use a CSS node for selection rendering
Use a CSS node with name selection, like we do for entries
and labels. Unlike those widgets, we currently don't user
gtk_render_background, but just use the background color.
That will require more effort.
Matthias Clasen [Wed, 11 Nov 2015 01:45:42 +0000 (20:45 -0500)]
cell view: Add an element name
The element name is...cellview.
Matthias Clasen [Wed, 11 Nov 2015 01:33:12 +0000 (20:33 -0500)]
HighContrast: Update label selection styling
Adapt to changes in the previous commit.
Matthias Clasen [Wed, 11 Nov 2015 01:29:31 +0000 (20:29 -0500)]
Adwaita: Update label selection styling
Adapt to the changes in the previous commit.
Matthias Clasen [Wed, 11 Nov 2015 01:28:10 +0000 (20:28 -0500)]
label: Use a CSS node for selection rendering
This adds new possibilities for themes to render the selection
in fancy ways.
Matthias Clasen [Wed, 11 Nov 2015 01:13:06 +0000 (20:13 -0500)]
entry: Simplify selection rendering
Calling gtk_render_background for each rectangle in the region
leads to suboptimal and sometimes weird results. Getting this
right requires more work in Pango first. Go back to just rendering
a single background, and clip it to the selection region. This
matches what GtkLabel does.
Matthias Clasen [Tue, 10 Nov 2015 22:36:33 +0000 (17:36 -0500)]
inspector: Don't grow horizontally
Labels in the object tree are application data. Ellipsize them
to avoid growing extremely wide if the data is bogus.
Matthias Clasen [Tue, 10 Nov 2015 22:36:23 +0000 (17:36 -0500)]
inspector: fix a typo
Matthias Clasen [Tue, 10 Nov 2015 18:39:10 +0000 (13:39 -0500)]
HighContrast: Update entry selection styling
Adapt to changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 18:37:15 +0000 (13:37 -0500)]
Adwaita: Update entry selection rendering
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 18:36:16 +0000 (13:36 -0500)]
entry: Use a CSS node for selection rendering
This adds new possibilities for themes to render the selection
in fancy ways.
Matthias Clasen [Tue, 10 Nov 2015 17:48:40 +0000 (12:48 -0500)]
Adwaita: Update tooltip styling more
Now that tooltips are csd again, the CSS wasn't quite working
anymore.
Olivier Fourdan [Tue, 10 Nov 2015 11:00:48 +0000 (12:00 +0100)]
gtkwindow: css offset for toplevel only
At the time gtk_window_move() or gtk_window_resize() get called, there
is no way to predict if a popup window will actually draw its shadow, so
applying an offset in this case may end up with a wrong size or
positioning for such windows.
Changing the logic in gtk_window_should_use_csd() as previously done to
address that issue will cause some other breakage as popup windows may
not draw a shadow but still need CSD.
So best is to actually apply client side decorations offset for regular,
top level windows only. This is actually a lot simpler and safer and
less likely to cause additional breakage.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=756618
Matthias Clasen [Tue, 10 Nov 2015 17:26:05 +0000 (12:26 -0500)]
Adwaita: update tooltip styling
Adapt to the changes in the previous commit. Note that tooltip
appearance is currently affected by tooltips having lost their
csd nature, due to a regression.
Emmanuele Bassi [Tue, 10 Nov 2015 14:12:35 +0000 (14:12 +0000)]
Move GtkAccelMap autocleanup to the class header
Emmanuele Bassi [Tue, 10 Nov 2015 14:11:04 +0000 (14:11 +0000)]
Recursively move autocleanups to their header files
Start from GtkAccelLabel and walk the tree downwards.
Emmanuele Bassi [Tue, 10 Nov 2015 14:08:07 +0000 (14:08 +0000)]
Move GtkAboutDialog autocleanup to the class header
Emmanuele Bassi [Tue, 10 Nov 2015 14:07:41 +0000 (14:07 +0000)]
Move GtkDialog autocleanup to the class header
Emmanuele Bassi [Tue, 10 Nov 2015 13:59:36 +0000 (13:59 +0000)]
Start recursively moving autocleanups macros to their headers
* Cover letter
Having a single header file for all autocleanups definitions was a
reasonable stop-gap measure, but now GTK+ is starting to use G_DECLARE_*
macros. This means that every class using a G_DECLARE_* macro will need
to include "gtk.h" to avoid compiler warnings, which is not acceptable.
By moving the G_DEFINE_AUTO* use to the header that defines the type we
allow using the G_DECLARE_* macros without sacrificing the ability to
include only the needed files when deriving from a class.
* Commit
This commit changes all includes relative to GtkWindow to define their
own autocleanup macros.
Emmanuele Bassi [Tue, 10 Nov 2015 13:49:11 +0000 (13:49 +0000)]
Only include the necessary headers in GtkPlacesViewRow
When compiling inside GTK we also use the GTK_COMPILATION guard, as the
GtkPlacesView and GtkPlacesViewRow widgets are shared with Nautilus.
Emmanuele Bassi [Tue, 10 Nov 2015 13:48:31 +0000 (13:48 +0000)]
Move GtkListBox g_autoptr macros to the class header
This allows GtkPlacesViewRow to use G_DECLARE_FINAL_TYPE without having
to include gtk.h.
Emmanuele Bassi [Tue, 10 Nov 2015 13:36:29 +0000 (13:36 +0000)]
Remove an unused variable declaration
And the compiler warning that comes with it.
Emmanuele Bassi [Tue, 10 Nov 2015 13:34:33 +0000 (13:34 +0000)]
Move GtkWindow g_autoptr macros in the class header
Otherwise we won't be able to use G_DECLARE_* macros internally to GTK
without generating warnings, or without including gtk.h itself.
Emmanuele Bassi [Tue, 10 Nov 2015 13:24:05 +0000 (13:24 +0000)]
docs: Ignore GtkTooltipWindow's private header file
Matthias Clasen [Tue, 10 Nov 2015 11:34:15 +0000 (06:34 -0500)]
Fix an oversight
We must set the construct-only "type" to GTK_WINDOW_POPUP, otherwise
this ends upo being a regular toplevel.
Emmanuele Bassi [Sun, 8 Nov 2015 17:10:00 +0000 (17:10 +0000)]
Use CSS node name for GtkTooltipWindow
Instead of a style class.
Emmanuele Bassi [Sun, 8 Nov 2015 15:46:23 +0000 (15:46 +0000)]
Add GtkTooltipWindow private sub-class
GtkTooltip does a lot of set up on the GtkWindow it uses internally. We
should move that code to a separate class to keep it contained.
Matthias Clasen [Tue, 10 Nov 2015 12:45:56 +0000 (07:45 -0500)]
print dialog: Avoid gtk_style_context_save
There was one more call to gtk_style_context_save here that I
overlooked. We can get rid of it by just setting the element name
on the drawing area.
Matthias Clasen [Tue, 10 Nov 2015 12:39:40 +0000 (07:39 -0500)]
flowbox: Add a diagram to CSS documentation
Matthias Clasen [Tue, 10 Nov 2015 12:37:25 +0000 (07:37 -0500)]
iconview: Add a diagram to CSS documentation
Matthias Clasen [Tue, 10 Nov 2015 12:36:41 +0000 (07:36 -0500)]
treeview: Add a diagram to CSS documentation
Matthias Clasen [Tue, 10 Nov 2015 12:31:32 +0000 (07:31 -0500)]
HighContrast: Update treeview rubberband styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 12:30:29 +0000 (07:30 -0500)]
Adwaita: Update treeview rubberband styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 12:29:54 +0000 (07:29 -0500)]
treeview: Use a CSS node for rubberband drawing
Use a CSS node with name rubberband to draw the rubberband
selection.
Alexander Larsson [Mon, 9 Nov 2015 21:18:05 +0000 (22:18 +0100)]
TextView: Use saner coordinate space in draw_layer.
When I added the draw_layer vfunc it accidentally got passed a cairo_t
that was configured with to draw in the viewport coordinate space (rather
than the buffer coordinate space). This makes things unnecessary complex,
because you have to convert between the two.
The pixel cache is shared between the text and the layers, so there is
no way to use draw_layer to get a stationary overlay effect. Thus it makes
much more sense for the draw_layer vfunc to draw in the buffer space.
Just changing this would break ABI for existing code, so this is fixed
by adding new layer types and deprecating the old ones.
Also, we use the new layer types to fix gtk3-widget-factory.
https://bugzilla.gnome.org/show_bug.cgi?id=757856
Matthias Clasen [Tue, 10 Nov 2015 05:55:57 +0000 (00:55 -0500)]
Forgotten file
This change belongs to the iconview rubberband changes.
Matthias Clasen [Tue, 10 Nov 2015 05:55:29 +0000 (00:55 -0500)]
HighContrast: Update flowbox rubberband styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 05:52:09 +0000 (00:52 -0500)]
Adwaita: Update flowbox rubberband styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 05:50:42 +0000 (00:50 -0500)]
flowbox: Use a CSS node for rubberband drawing
Use a CSS node with name rubberband to draw the rubberband
selection.
Matthias Clasen [Tue, 10 Nov 2015 05:30:39 +0000 (00:30 -0500)]
HighContrast: Update rubberband styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 05:28:46 +0000 (00:28 -0500)]
Adwaita: Update rubberband styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 05:25:19 +0000 (00:25 -0500)]
iconview: Use a CSS node for rubberband drawing
Use a CSS node with name rubberband to draw the rubberband
selection.
Matthias Clasen [Tue, 10 Nov 2015 04:49:29 +0000 (23:49 -0500)]
HighContrast: Update text handle styling
Adapt to the changes in the previous release.
Matthias Clasen [Tue, 10 Nov 2015 04:47:08 +0000 (23:47 -0500)]
Adwaita: Update text handle styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 10 Nov 2015 04:45:29 +0000 (23:45 -0500)]
Document text handle styling
Since GtkTextHandle is private, document text handle style
classes in the GtkEntry and GtkTextView documentation.
Matthias Clasen [Tue, 10 Nov 2015 04:33:54 +0000 (23:33 -0500)]
text handle: Port to CSS nodes
Use cursor-handle as the element name for the CSS node that
is used to render text the selection handles.
Matthias Clasen [Mon, 9 Nov 2015 14:27:40 +0000 (09:27 -0500)]
Avoid excessive property notification for GtkStack::interpolate-size
make check checks this for writable properties, and fails now that
we've made this property writable.
Matthias Clasen [Mon, 9 Nov 2015 18:33:58 +0000 (13:33 -0500)]
notebook: Update CSS docs
The .header style class is no longer used.
Timm Bäder [Sat, 31 Oct 2015 17:05:03 +0000 (18:05 +0100)]
colorswatch: Don't pass _GENERIC_FALLBACK to API that doesn't support it
Alexander Larsson [Mon, 9 Nov 2015 14:14:57 +0000 (15:14 +0100)]
gdk: Fix invalidation w/ pixel cache when changing child window geometry.
When moving/scrolling a child window we can't use the current clip
region to limit what is invalidated, because there may be a pixel
cache that listens for changes outside the clip region. Instead
invalidate the entire area and rely on the invalidation code to limit
the repaint to the actually visible area.
Benjamin Otte [Mon, 9 Nov 2015 13:17:09 +0000 (14:17 +0100)]
textdisplay: save/restore when using different state flags
Also, never use gtk_widget_get_state_flags() when we want
gtk_style_context_get_state()
Olivier Fourdan [Mon, 9 Nov 2015 11:05:37 +0000 (12:05 +0100)]
gtkwindow: Fix resize without "_GTK_FRAME_EXTENTS"
git commit
a5b1cdd0 introduced a regression where CSD windows are not
resizable with metacity.
Reason being that metacity does not support "_GTK_FRAME_EXTENTS" and
therefore gtk_window_supports_client_shadow() would always return FALSE.
This explains why it works with window managers which support
"_GTK_FRAME_EXTENTS" such as mutter/gnome-shell or xfwm4.
Partially revert commit
a5b1cdd0 to reinstate the logic in
get_shadow_width().
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=757805
Matthias Clasen [Mon, 9 Nov 2015 12:40:44 +0000 (07:40 -0500)]
container: Slightly reword some docs
Clarify gtk_container_remove documentation regarding reference
holding. Suggested in
https://bugzilla.gnome.org/show_bug.cgi?id=757607
Matthias Clasen [Mon, 9 Nov 2015 11:42:59 +0000 (06:42 -0500)]
tool item group: Use a CSS node for the arrow
This completes the transition for GtkToolItemGroup.
Matthias Clasen [Mon, 9 Nov 2015 01:59:55 +0000 (20:59 -0500)]
HighContrast: Update notebook styling
Some fixes for arrows and for headers.
Matthias Clasen [Sun, 8 Nov 2015 23:11:25 +0000 (18:11 -0500)]
Adwaita: Update notebook styling
Adapt to the changes in the previous commit.
Matthias Clasen [Sun, 8 Nov 2015 20:01:09 +0000 (15:01 -0500)]
notebook: Use CSS nodes for arrows
This converts the drawing of scroll arrows to use separate CSS
nodes.
Matthias Clasen [Mon, 9 Nov 2015 01:27:22 +0000 (20:27 -0500)]
Don't use a transient node in gtk_render_arrow()
It is not necessary for the users of this API, and causes things
to not work as intended. Without this transient node, styling
"notebook header tabs arrow" has the desired effect on notebook
arrows.
Matthias Clasen [Sat, 7 Nov 2015 18:17:17 +0000 (13:17 -0500)]
widget-factory: Add another notebook example
This example shows a scrollable notebook with action widgets.
Matthias Clasen [Sat, 7 Nov 2015 16:31:24 +0000 (11:31 -0500)]
HighContrast: update notebook styling
Adapt to the changes in the previous commit.
Matthias Clasen [Sat, 31 Oct 2015 14:25:50 +0000 (10:25 -0400)]
Adwaita: Adapt notebook styling a bit
This needs a lot more work.
Matthias Clasen [Sat, 31 Oct 2015 14:23:40 +0000 (10:23 -0400)]
notebook: redo notebook styling
Add a header node, and put positional classes on it.
Benjamin Otte [Mon, 9 Nov 2015 00:44:01 +0000 (01:44 +0100)]
placesview: Don't export API
This is a private object, don't export its symbols.
https://bugzilla.gnome.org/show_bug.cgi?id=756978
Benjamin Otte [Mon, 9 Nov 2015 00:42:41 +0000 (01:42 +0100)]
cssnode: Propagate NTH_LAST_CHILD changes properly
We were just catching the previous sibling before. Now we properly
invalidate all previous siblings (and also all other wiblings, but we
can think about optimizing that later).
Benjamin Otte [Mon, 9 Nov 2015 00:38:39 +0000 (01:38 +0100)]
csstypes: Propagate NTH_CHILD and NTH_LAST_CHILD to siblings
Otherwise, we'd have to mark eveyr child on changes, and it's far easier
to do that once we actually validate.
Benjamin Otte [Mon, 9 Nov 2015 00:29:56 +0000 (01:29 +0100)]
box: Refactor CSS node handling
Only update the node that changed, don't invalidate everything.